📖 Resumo - Capítulo 3: Criptografia e PKI
🎯 CONCEITOS MAIS IMPORTANTES PARA PROVA:
- Simétrica (AES): Mesma chave, rápida, problema: compartilhamento da chave
- Assimétrica (RSA/ECC): Par de chaves (pública/privada), lenta, resolve compartilhamento
- Hashing: One-way, integridade, MD5/SHA-1 obsoletos, SHA-2/3 atuais
- PKI: CA emite certificados, CRL/OCSP para revogação
1️⃣ Fundamentos de Criptografia
Terminologia Básica
| Termo |
Definição |
| Plaintext/Cleartext |
Mensagem não criptografada |
| Ciphertext |
Mensagem criptografada |
| Algorithm (Algoritmo) |
Processo usado para criptografar/descriptografar |
| Cryptanalysis (Criptoanálise) |
Arte de quebrar sistemas criptográficos |
| Key (Chave) |
String de bits gerada aleatoriamente |
Objetivos da Criptografia
- Confidencialidade: Apenas autorizados leem
- Integridade: Dados não foram alterados
- Autenticação: Verificar identidade
- Não-repúdio: Não pode negar autoria
⚠️ DICA CRÍTICA: Criptografia NÃO é o mesmo que codificação! Criptografia requer chave, codificação é reversível sem chave (ex: Base64).
2️⃣ Criptografia Simétrica vs Assimétrica
🔑 Simétrica
- Mesma chave para cifrar/decifrar
- Rápida - ideal para grandes volumes
- Problema: Como compartilhar chave?
- AES (128/192/256 bits) - padrão atual
- DES (56 bits) - obsoleto
- 3DES - sendo substituído por AES
- Blowfish/Twofish
- RC4 - stream cipher, obsoleto
🔓 Assimétrica
- Par de chaves: pública + privada
- Lenta - ineficiente para grandes dados
- Resolve compartilhamento de chaves
- RSA (2048+ bits) - mais usado
- ECC - chaves menores, mesma segurança
- Diffie-Hellman - troca de chaves
- DSA - apenas assinaturas
🔒 Hashing
- One-way: não reversível
- Tamanho fixo de saída (digest)
- Integridade: verifica alterações
- MD5 (128 bits) - obsoleto
- SHA-1 (160 bits) - obsoleto
- SHA-2 (256/512) - padrão atual
- SHA-3 - mais recente
- HMAC - hash com chave
💡 SEGURANÇA DE CHAVES:
- AES-128: keyspace 2^128 (já é enorme)
- AES-256: NÃO é 2x maior, é trilhões de vezes maior
- RSA: mínimo 2048 bits recomendado
- ECC: 256 bits = segurança equivalente a RSA 3072 bits
3️⃣ Algoritmos e Modos de Operação
Stream Cipher vs Block Cipher
| Tipo |
Descrição |
Exemplos |
| Stream Cipher |
Criptografa um bit por vez (como OTP) |
RC4 (inseguro), ChaCha20 |
| Block Cipher |
Criptografa blocos (64/128/256 bits) |
AES, DES, 3DES, Blowfish |
Modos de Operação de Block Cipher
ECB (Electronic Codebook)
Mais simples, blocos iguais → ciphertext igual. INSEGURO!
CBC (Cipher Block Chaining)
Usa IV, blocos encadeados. Mais seguro que ECB, mais lento.
CFB (Cipher Feedback)
Transforma block cipher em stream cipher. Usa IV.
OFB (Output Feedback)
Similar a CFB, mas IV usado após primeira rodada.
CTR (Counter)
Usa nonce + contador, paralelizável.
GCM (Galois/Counter Mode)
Criptografia + autenticação (MAC). Usado em TLS 1.3.
4️⃣ Hashing e Aplicações
Características do Hash
- Determinístico: Mesmo input = mesmo hash
- Rápido de calcular
- Efeito avalanche: Pequena mudança = hash completamente diferente
- Resistente a colisões: Difícil encontrar dois inputs com mesmo hash
Usos do Hash
- Integridade de arquivos: Verificar se arquivo foi alterado
- Armazenamento de senhas: Com salt (nunca em texto claro!)
- Assinaturas digitais: Hash é assinado, não o documento inteiro
- Blockchain: Cada bloco contém hash do anterior
🧂 SALT E KEY STRETCHING:
- Salt: Valor aleatório adicionado à senha antes do hash. PREVINE RAINBOW TABLES!
- Key Stretching: Múltiplas rodadas de hashing (PBKDF2, bcrypt, Argon2) - dificulta brute force
Ataques a Hash
| Ataque |
Descrição |
| Rainbow Table |
Tabela pré-computada de hashes. Contramedida: salt |
| Colisão (Collision) |
Encontrar dois inputs com mesmo hash. MD5 e SHA-1 são vulneráveis |
| Aniversário (Birthday) |
Explora probabilidade de colisões. Requer menos tentativas que brute force |
| Força Bruta |
Testar todas combinações possíveis |
| Dicionário |
Testar palavras comuns e senhas prováveis |
5️⃣ Criptografia Híbrida e Sistemas
Sistemas Híbridos
- Combina eficiência da simétrica com segurança da assimétrica
- Processo:
- Gera chave simétrica (session key)
- Criptografa dados com chave simétrica
- Criptografa chave simétrica com chave pública do destinatário
- Envia ambos
- Usado em: TLS/SSL, PGP/GPG, EFS
PGP/GPG
- PGP: Pretty Good Privacy (comercial)
- GPG: GNU Privacy Guard (open source)
- Criptografia de email e arquivos
- Usa Web of Trust (não PKI hierárquica)
EFS (Encrypting File System) - Windows
- Criptografia em nível de arquivo/pasta (NTFS)
- Usa FEK (File Encryption Key) simétrica para arquivo
- FEK criptografada com chave pública do usuário
- DRA (Data Recovery Agent) pode recuperar se necessário
BitLocker
- Criptografia de disco completo (FDE)
- Requer TPM (Trusted Platform Module) ou USB
- Protege contra roubo de disco
6️⃣ Cryptoprocessors
|
TPM |
HSM |
| O que é |
Chip na placa-mãe |
Dispositivo dedicado (rack, PCIe, USB) |
| Funções |
Gera hash de boot, armazena chaves (BitLocker) |
Gera/armazena chaves, assinaturas digitais, alta performance |
| Uso |
Computadores pessoais |
Bancos, CAs, grandes empresas |
| Segurança |
Protege contra acesso físico |
Tamper-resistant, certificação FIPS 140-2 |
7️⃣ PKI (Public Key Infrastructure)
Componentes da PKI
- CA (Certificate Authority): Emite certificados (ex: Let's Encrypt, DigiCert)
- RA (Registration Authority): Verifica identidade antes da emissão
- Certificado Digital: Liga chave pública a uma identidade (padrão X.509)
- CRL (Certificate Revocation List): Lista de certificados revogados
- OCSP (Online Certificate Status Protocol): Verifica status em tempo real
Cadeia de Confiança (Chain of Trust)
🔒 Root CA (auto-assinado)
⬇️ assina
🔐 Intermediate CA
⬇️ assina
📜 Certificate (Leaf)
Tipos de Certificados
| Tipo |
Descrição |
| Root Certificate |
Auto-assinado, topo da hierarquia, pré-instalado no SO/navegador |
| Wildcard |
*.dominio.com - cobre subdomínios |
| SAN (Subject Alternative Name) |
Múltiplos domínios no mesmo certificado |
| Code Signing |
Assina software, prova autenticidade |
| Self-Signed |
Não emitido por CA confiável, navegador mostra aviso |
| Email Certificate |
Para S/MIME - criptografia de email |
Revogação de Certificados
- CRL (Certificate Revocation List): Lista publicada pela CA. Cliente baixa periodicamente.
- OCSP (Online Certificate Status Protocol): Verifica status em tempo real (mais eficiente)
- OCSP Stapling: Servidor anexa resposta OCSP ao handshake TLS
⚠️ RAZÕES PARA REVOGAÇÃO:
- Chave privada comprometida
- Negócio fechou
- Usuário deixou empresa
- Domínio mudou
- Certificado foi mal usado
8️⃣ Gerenciamento de Chaves
Lifecycle da Chave
- Geração: Deve ser aleatória (TRNG > PRNG)
- Armazenamento: TPM/HSM > arquivo
- Distribuição: Através de PKI
- Uso
- Rotação/Expiração
- Revogação
- Destruição
Key Escrow e M of N
- Key Escrow: Cópia da chave guardada por terceiro (recuperação)
- M of N: Requer M pessoas de N para autorizar operação (ex: 3 de 5)
9️⃣ Blockchain
- Ledger distribuído imutável
- Cada bloco contém hash do bloco anterior
- Descentralizado: não há ponto único de falha
- Mining (mineração): processo de adicionar blocos (Proof of Work)
- Usos: Criptomoedas (Bitcoin), contratos inteligentes, rastreamento
🔟 Ataques Criptográficos
| Ataque |
Descrição |
Defesa |
| Downgrade Attack |
Forçar uso de protocolo antigo/inseguro (ex: SSL) |
Desabilitar protocolos antigos |
| Known Plaintext |
Atacante tem pares de plaintext/ciphertext |
Chaves fortes, algoritmos seguros |
| Chosen Plaintext |
Atacante escolhe plaintext para criptografar |
Algoritmos resistentes (ex: AES) |
| Brute Force |
Testar todas combinações de chaves |
Chaves longas (AES-256) |
⚛️ FUTURO - COMPUTAÇÃO QUÂNTICA:
Computadores quânticos podem quebrar RSA e ECC facilmente. Pesquisadores já trabalham em Post-Quantum Cryptography.
🎯 DICAS FINAIS PARA PROVA:
- AES é o padrão atual de criptografia simétrica
- RSA 2048+ ou ECC para assimétrica
- MD5 e SHA-1 são obsoletos - NÃO USAR!
- Salt previne rainbow tables
- TPM é chip na placa-mãe, HSM é dispositivo dedicado
- CRL vs OCSP: OCSP é em tempo real
- Wildcard = *.dominio.com, SAN = múltiplos domínios